第6章 软件编码
第6章 软件编码
编码和测试统称为实现。
所谓编码,就是把软件设计结果翻译成用某种程序设计语言书写的程序。作为软件工程过程的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量。
6.1 程序设计语言
程序设计语言:
机器语言,几乎不使用。
汇编语言,特殊场合使用。
高级语言,明显优于汇编语言。
程序设计语言的划代:
选择语言的理想标准:
- 为了使程序容易测试和维护以减少软件的总成本,所选用的高级语言应该有理想的模块化机制,以及可读性好的控制结构和数据结构;
- 为了便于调试和提高软件可靠性,语言特点应该使编译程序能够尽可能多地发现程序中的错误;
- 为了降低软件开发和维护的成本,选用的高级语言应该有良好的独立编译机制。
主要的实用标准:
系统用户的要求
可以使用的编译程序
可以得到的软件工具
工程规模
程序员的知识
软件可移植性要求
软件的应用领域
6.2 编码风格
源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准。
程序内部的文档
恰当的标识符
适当的注解
程序的视觉组织
数据说明
数据说明的次序应该标准化。
当多个变量名在一个语句中说明时,应该按字母顺序排列这些变量。
如果设计时使用了一个复杂的数据结构,则应该用注解说明用程序设计语言实现这个数据结构的方法和特点。
语句构造
不要为了节省空间而把多个语句写在同一行;
尽量避免复杂的条件测试;
尽量减少对“非”条件的测试;
避免大量使用循环嵌套和条件嵌套;
利用括号使逻辑表达式或算术表达式的运算次序清晰直观。
输入输出
对所有输入数据都进行检验;
检查输入项重要组合的合法性;
保持输入格式简单;
使用数据结束标记,不要要求用户指定数据的数目;
明确提示交互式输入的请求,详细说明可用的选择或边界数值;
当程序设计语言对格式有严格要求时,应保持输入格式一致;
设计良好的输出报表;
给所有输出数据加标志。
效率
效率主要指处理机时间和存储器容量两个方面。
效率是性能要求,因此应该在需求分析阶段确定效率方面的要求。
效率是靠好设计来提高的。
程序的效率和程序的简单程度是一致的,不要牺牲程序的清晰性和可读性来不必要地提高效率。
效率问题
程序运行时间
- 写程序之前先简化算术的和逻辑的表达式
- 仔细研究嵌套的循环,以确定是否有语句可以从内层往外移
- 尽量避免使用多维数组
- 尽量避免使用指针和复杂的表
- 使用执行时间短的算术运算
- 不要混合使用不同的数据类型
- 尽量使用整数运算和布尔表达式
存储器效率
- 使用能保持功能域的结构化控制结构,是提高效率的好方法
- 在微处理机中如果要求使用最少的存储单元,则应选用有紧缩存储器特性的编译程序,在非常必要时可以使用汇编语言。
- 提高执行效率的技术通常也能提高存储器效率。提高存储器效率的关键同样是“简单”。
输入输出的效率
如果用户为了给计算机提供输入信息或为了理解计算机输出的信息,所需花费的脑力劳动是经济的,那么人和计算机之间通信的效率就高。因此,简单清晰同样是提高人机通信效率的关键。